home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / cstdio.arc / INCLUDE.ARC / CTYPE.H < prev    next >
C/C++ Source or Header  |  1985-05-14  |  1KB  |  35 lines

  1. /*    ctype.h - character classification macros.
  2.     (C) Copyright 1984 Gregory R. Mansfield - All Rights Reserved.
  3.     G. R. Mansfield.  84/07/29.
  4.     Ver 1.0-5514.
  5. */
  6.  
  7. #ifndef _ctype
  8. #define _ctype
  9.  
  10. #define CT_U 1    /* upper case letter */
  11. #define CT_L 2    /* lower case letter */
  12. #define CT_D 4    /* digit */
  13. #define CT_P 8    /* punctuation */
  14. #define CT_S 16    /* space */
  15. #define CT_X 32    /* hexadecimal digit letters */
  16.  
  17. #ifndef CTYPEDEF
  18. extern BYTE ctype[256];
  19. #endif
  20.  
  21. #define isascii(c) ((c) < 0x80)
  22. #define isalpha(c) (ctype[(c)] & (CT_U|CT_L))
  23. #define isupper(c) (ctype[(c)] & CT_U)
  24. #define islower(c) (ctype[(c)] & CT_L)
  25. #define isdigit(c) (ctype[(c)] & CT_D)
  26. #define isxdigit(c) (ctype[(c)] & (CT_D|CT_X))
  27. #define isalnum(c) (ctype[(c)] & (CT_U|CT_L|CT_D))
  28. #define isspace(c) (ctype[(c)] & CT_S)
  29. #define iscntl(c) ((c) < 0x20 || (c) == 0x7F)
  30. #define ispunct(c) (ctype[(c)] & CT_P)
  31. #define isprint(c) (ctype[(c)] & 0x0F)
  32. #define toupper(c) (islower((c)) ? (c)-32 : (c))
  33. #define tolower(c) (isupper((c)) ? (c)+32 : (c))
  34.  
  35. #endif